﻿using System;

namespace Onshi.POS.Modelo.Objetos
{
    public class Validaciones
    {
        public static Boolean ValidarCuitCuil(Int64 numero)
        {
            var ok = true;
            if (ok && numero.ToString().Length < 11)
                ok = false;
            //if (ok && numero.ToString().Substring(0, 2) != "30" && numero.ToString().Substring(0, 2) != "33")
            //    ok = false;
            if (ok)
            {
                var digitoVerificador = 0;
                var suma = 0;
                suma += Convert.ToInt32(numero.ToString().Substring(0, 1)) * 5;
                suma += Convert.ToInt32(numero.ToString().Substring(1, 1)) * 4;
                suma += Convert.ToInt32(numero.ToString().Substring(2, 1)) * 3;
                suma += Convert.ToInt32(numero.ToString().Substring(3, 1)) * 2;
                suma += Convert.ToInt32(numero.ToString().Substring(4, 1)) * 7;
                suma += Convert.ToInt32(numero.ToString().Substring(5, 1)) * 6;
                suma += Convert.ToInt32(numero.ToString().Substring(6, 1)) * 5;
                suma += Convert.ToInt32(numero.ToString().Substring(7, 1)) * 4;
                suma += Convert.ToInt32(numero.ToString().Substring(8, 1)) * 3;
                suma += Convert.ToInt32(numero.ToString().Substring(9, 1)) * 2;
                var mod = suma % 11;
                switch (mod)
                {
                    case 0:
                        digitoVerificador = 0;
                        break;
                    case 1:
                        digitoVerificador = 9;
                        break;
                    default:
                        digitoVerificador = 11 - mod;
                        break;
                }
                if (digitoVerificador != Convert.ToInt32(numero.ToString().Substring(10, 1)))
                    ok = false;
            }
            return ok;
        }
    }
}
